<?php

namespace App\Util;


class UploadImgUtil
{

    public static function images_get(string $img_url): string
    {
        $origin_img_url = $img_url;
        if (empty($img_url)) {
//            throw new \Exception( '图片参数不能为空：'.$img_url);
        }
        $img_url = explode('/', $img_url);
        $img_url = end($img_url);
        $img = public_path() . '/upload/images/' . $img_url;

        if (empty($img_url)) {
            return $img;
        }
        if (!file_exists($img) && !empty($origin_img_url)) {
//            throw new \Exception( '图片不存在：'.$img_url);
            if (!empty($imgcontent = file_get_contents($origin_img_url))) {
                try {
                    $va = file_put_contents($img, $imgcontent);
                    if (empty($va)) {
                        throw new \Exception("文件写入失败");
                    }
                } catch (\Error $e) {
                    dd($e->getMessage());
                }
            }
        }
        if ($img) {
            try {
                //压缩图片
                $img_obj = \Intervention\Image\Facades\Image::make($img);
                $img_obj->resize(800, 700);
                $img = public_path() . '/upload/s_images/' . $img_url;
                $img_obj->save($img);
            } catch (\Exception $exception) {
                $msg = '压缩图片资料存在问题，请重新上传,问题路径：' . $img;
                throw new \Exception($msg . "异常：" . $exception->getMessage());
            }
        }

        return $img;
    }
}